package com.xiaodimall.backsys.service;

import com.xiaodimall.backsys.common.JsonResult;
import com.xiaodimall.backsys.common.PageResult;
import com.xiaodimall.backsys.pojo.GoodsInfo;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @Author: CJJ
 * @Date: Created in 2022/11/25 20:24
 * @Description:
 * 商品业务接口
 */
public interface GoodsInfoService {

    /**
     * @Author: CJJ
     * @param currentPage 当前页
     * @param pageSize 每页显示大小
     * @return 自定义类型, 封装总记录数和当前查询到的记录数
     * @Description: 分页查询商品信息
     */
    PageResult<GoodsInfo> getAllGoodsInfoByPage(String currentPage, String pageSize);

    /**
     * @Author: CJJ
     * @param goodsInfo 商品实体
     * @return JR
     * @Description: 完成编辑商品相关业务
     */
    JsonResult updateGoodsInfo(GoodsInfo goodsInfo);


    /**
     * @Author: CJJ
     * @param goodsInfo 商品信息实体
     * @return JR
     * @Description: 添加商品
     */
    JsonResult addGoodsService(GoodsInfo goodsInfo);


    /**
     * @Author: CJJ
     * @param originalPrice 商品标价
     * @return 商城售价标记点
     * 根据传入的商品标价实时计算各个折扣标记点数值
     */
    Map<Integer, String> getMarks(Integer originalPrice);


    /**
     * @Author: CJJ
     * @param goodsId 商品ID
     * @return JR
     * @Description: 删除单个商品
     */
    JsonResult deleteGoodsById(Integer goodsId);



    /**
     * @Author: CJJ
     * @param goodsIds 商品ID数组
     * @return JR
     * @Description:
     */
    JsonResult deleteGoodsByIds(List<Integer> goodsIds);


    /**
     * 商品搜索
     * @param column 要搜索的表字段
     * @param value 搜索的值
     * @return JR
     */
    JsonResult selectGoodsBuCondition(String column, String value);

    JsonResult startSellSelectGoods(List<Integer> goodsIds);

    JsonResult stopSellSelectGoods(List<Integer> goodsIds);
}
